2.1 强化学习2.1.1 强化学习的基本原理2.1.2 强化学习的三对概念2.1.3 强化学习的具体分类(略)2.2 动态规划2.2.1 思路介绍2.2.2 策略迭代1 策略评估2 策略改进2.2.3 价值迭代1 算法介绍2 算法优势2.3 蒙特卡洛2.3.1 蒙特卡洛思路介绍2.3.2 在线策略蒙特卡洛1 蒙特卡洛评估2 蒙特卡洛控制3 在线/离线策略2.3.3 离线策略蒙特卡洛(略)1 重要性采样方法2 加权重要性采样2.4 时序差分2.4.1 时序差分思路介绍1 时序差分简介2 三种算法对比(略)2.4.2 在线策略时序差分:Sarsa2.4.3 离线策略时序差分:Q-Learning1 离线策略 TD(略)2 Q-learning
强化学习的原理
智能体根据当前的状态
智能体又称为 RL agent,即 Reinforcement Learning agent.
环境在收到状态
该过程循环进行,直到抵达终止条件.
强化学习的模型是马尔科夫决策过程.
我们将学习强化学习中三类常见的算法:动态规划、时序差分、蒙特卡洛.
智能体的组成
策略
值函数
整体回报为
状态值函数 (价值, Value)
行为值函数
模型
状态转移概率
状态转移概率
"状态期望立即回报"
"行为期望立即回报"
学习与规划
学习:智能体通过与环境交互的过程,以此估计环境模型的参数,或者调整智能体行为.
规划:根据学习得到的数据,优化智能体的策略,从而得到最大的回报的过程.
探索与利用
利用:根据采取样本的信息,选取当下局部最优的行为.
探索:不仅仅采取当下最优的行为,而是探索新的行为,以期得到全局最优的行为.
预测与控制
预测:评估当前策略,即计算或估计状态值函数或行为值函数.
控制:根据对当前策略评估而得到的值函数,对策略进行优化.
这部分可略去不看.
机器学习 (属于人工智能)
分类一
监督学习
有标记的数据.
预测未知数据的标记.
静态数据.
非监督学习
无标记的数据.
挖掘数据潜在结构.
静态数据.
强化学习
没有标记, 只有一个延迟的回报信号.
属于序贯决策 (Sequential Decision Making) 模型.
数据通过与环境不断交互而产生, 即动态数据.
数据之间高度相关.
分类二
传统的机器学习: 需要人工提取特征.
深度学习: 无需人工提取特征 (属于监督学习).
强化学习: 目的是在环境中最大化奖励.
深度强化学习: 结合深度学习与强化学习.
强化学习
分类一
有模型方法: 如动态规划法.
无模型方法: 如蒙特卡洛法、时序差分法.
分类二
基于值函数的方法 (Value Based)
基于策略的方法 (Policy Based)
行动者-评论家方法 (Actor-Critic)
我们想要求解强化学习模型(即马尔科夫决策过程)的最优策略,可以循环进行策略评估与策略提升:
策略评估(预测):计算当前策略的状态值函数或行为值函数.
策略提升(控制):根据当前策略的值函数去优化策略.
反复进行上述过程,直到策略稳定为最优策略. 该思路称为广义策略迭代.
动态规划、蒙特卡洛、时序差分,都属于广义策略迭代,其中动态规划需要知道模型的参数(如回报函数与状态转移概率矩阵),蒙特卡洛与时序差分则无需模型参数.
动态规划(DP,dynamic planning)分为策略迭代和价值迭代两种算法.
在马尔科夫决策过程中,我们得到了贝尔曼期望方程,
我们可以直接联立方程去求解,但是这样做计算量很大,实际应用不便.
另一种思路是,利用上述方程自举求得近似值,逐渐逼近精确值:
实际应用中只需求解行为值函数. 如果采取任一行为后状态的转移是确定的, 而非随机的, 则可以不求解行为值函数, 而转为求解状态值函数.
记改进前的策略为
利用贝尔曼最优方程自举,
求出最优值函数后, 贪心策略即为最优策略.
策略迭代中,每次迭代都要通过自举进行策略评估;而价值迭代,只需要自举求得最优值函数. 因此一般来说,价值迭代的计算量更小.
动态规划在策略评估时,需要知道模型的全部参数(状态转移概率矩阵与回报函数),但实际情景中不一定可知,即使可知,也可能十分复杂. 因此我们通过采样数据去估计值函数,该思路称为蒙特卡洛方法(MC,Monte-Carlo).
采样得到轨迹
立即回报:
累积回报:
计算平均回报
初访法:只考虑每个轨迹中第一次到访状态
每访法:考虑每个轨迹中每一次到访状态
增量式公式
设第
则得到第
修正后的更新公式
若认为越靠后的累积回报越重要, 可将
若要估计行为值函数,则类似可得
由于采样数据是有限的,不一定能反映全局的最优解,因此我们使用
以极小的概率
以
换言之,若一共有
采取最优行为的概率为
采取其它任一行为的概率为
首先引入概念:
行为策略:即产生采样数据的策略. 如果我们要估计状态
原始策略(目标策略):被评估改进的策略. 由行为策略到达状态
上述蒙特卡洛方法中,行为策略与原始策略相同,都是
但是最终我们想得到的,是一个确定性的而非随机性的策略,因此希望通过
像这样在线策略与原始策略不同的蒙特卡洛方法,称为 离线策略蒙特卡洛,也就是下一小节中所要探讨的.
可以跳过本节不看.
在策略评估时 (即行为策略
在策略改进时 (即原始策略
前置知识
随机采样, 可得期望的无偏估计.
行为值函数
使用策略
重要采样比率
增量更新公式
为减小方差,
在蒙特卡洛方法中,每次采样都需要得到完整的轨迹,只有这样才能计算出整体回报
而由贝尔曼期望方程,
这么做的好处是,只需要一部分的轨迹,从而缩短了采样的时间,从而更快地估计值函数.
这个思路称为时序差分(TD, Temporal Difference),其中替代
时序差分与蒙特卡洛都是无模型方法,同样分为在线策略(如 Sarsa)与离线策略(如 Q-Learning)两种.
动态规划 (DP, Dynamic Programming)
一步预测, 自举. 无需采样, 需要完整模型.
无偏差, 无方差.
有模型方法, 具有马尔科夫性.
蒙特卡洛 (MC, Monte Carlo)
不自举. 依靠采样, 学习完整的轨迹.
无偏估计, 方差较大.
无模型方法, 无马尔科夫性.
时序差分 (TD, Temporal Difference)
一步预测, 自举. 需要采样, 学习部分轨迹.
右偏估计, 方差较小.
无模型方法, 无马尔可夫性.
三种算法都遵循广义策略迭代框架.
其中行为
这里的行为策略与目标策略均为
离线策略 TD
由行为策略
评估和改进原始策略
TD 目标
使用原始策略
使用行为策略
离线策略 TD 方法的更新公式
其中
TD 目标中的行为
于是 TD 目标可写为
备注:一般来说,离线策略产生的轨迹数据更为丰富,且获得的结果是确定性策略,因此比较常用.